home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / asm-xtensa / tlb.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.1 KB  |  48 lines

  1. /*
  2.  * include/asm-xtensa/tlb.h
  3.  *
  4.  * This file is subject to the terms and conditions of the GNU General Public
  5.  * License.  See the file "COPYING" in the main directory of this archive
  6.  * for more details.
  7.  *
  8.  * Copyright (C) 2001 - 2005 Tensilica Inc.
  9.  */
  10.  
  11. #ifndef _XTENSA_TLB_H
  12. #define _XTENSA_TLB_H
  13.  
  14. #include <asm/cache.h>
  15. #include <asm/page.h>
  16.  
  17. #if (DCACHE_WAY_SIZE <= PAGE_SIZE)
  18.  
  19. /* Note, read http://lkml.org/lkml/2004/1/15/6 */
  20.  
  21. # define tlb_start_vma(tlb,vma)            do { } while (0)
  22. # define tlb_end_vma(tlb,vma)            do { } while (0)
  23.  
  24. #else
  25.  
  26. # define tlb_start_vma(tlb, vma)                          \
  27.     do {                                      \
  28.         if (!tlb->fullmm)                          \
  29.             flush_cache_range(vma, vma->vm_start, vma->vm_end);   \
  30.     } while(0)
  31.  
  32. # define tlb_end_vma(tlb, vma)                              \
  33.     do {                                      \
  34.         if (!tlb->fullmm)                          \
  35.             flush_tlb_range(vma, vma->vm_start, vma->vm_end);     \
  36.     } while(0)
  37.  
  38. #endif
  39.  
  40. #define __tlb_remove_tlb_entry(tlb,pte,addr)    do { } while (0)
  41. #define tlb_flush(tlb)                flush_tlb_mm((tlb)->mm)
  42.  
  43. #include <asm-generic/tlb.h>
  44.  
  45. #define __pte_free_tlb(tlb, pte)        pte_free((tlb)->mm, pte)
  46.  
  47. #endif    /* _XTENSA_TLB_H */
  48.